package com.itany.corejava.code01_Java基础;

import java.util.Scanner;

/**
 * @author: 石小俊
 * @date: 2023年03月01日 9:02
 * @version: 1.0
 * 在控制台输入两个int类型的数字,分别赋予给两个变量
 * 通过一定的方式,将这两个变量的值相互交换
 */
public class Test08_数据类型练习 {
    public static void main(String[] args) {
        Scanner sc =  new Scanner(System.in);
        System.out.print("请输入第一个数:");
        int num1 = sc.nextInt();
        System.out.print("请输入第二个数:");
        int num2 = sc.nextInt();
        // 交换前的值
        System.out.println("交换前的值:");
        System.out.println("num1="+num1);
        System.out.println("num2="+num2);

        // 方式一:可以存在第三个变量
        // 定义一个int类型的变量作为中间变量
//        int temp = num1;
//        num1 = num2;
//        num2 = temp;
//        System.out.println("交换后的值:");
//        System.out.println("num1="+num1);
//        System.out.println("num2="+num2);

        // 方式二:不能存在第三个变量
        // 将两数之和赋值给某一个变量
        // 后面只需要获取任意一个变量的值,就可以获取到另一个变量的值
        num1 = num1 + num2;
        // 将num1原来的值赋值给num2
        // num1现在的值=原来的num1+num2
        // 此时的num2是原来的num2
        num2 = num1 - num2;
        // 此时的num2是原来的num1
        num1 = num1 - num2;
        System.out.println("交换后的值:");
        System.out.println("num1="+num1);
        System.out.println("num2="+num2);
    }
}
